﻿/*
 *      	MSP430FE425中与I/O操作相关的一些宏定义.
 *
 * 		作者：匿名
 *
 *		本软件为自由软件，你可以自由修改和发布.期望它能对你有所益处.
 *               
 *		最后修正时间：2008/7/20
 *		
 *		版权所有：中文中国
 */
#ifndef __IO__
#define __IO__
#include <msp430x42x.h>
#define N3310 p1
#define KEY   p1
#define p1    1
#define p2    2
#define p3    3
#define p4    4
#define RES   2
#define SCLK  3
#define SDIN  1
#define DC    3
#define SCE   4
#define RED   3
#define GREEN 1
#define BLUE  4
#define ON    1
#define OFF   0
#define TOP   5
#define DOWN  6
#define MENU  7
#define r
#define w

#define open_io(port,bit,mod) (open##mod##_io(port,bit)) //port:端口号,bit:端口位,mod:打开方式(读或写)
#define openw_io(port,bit) (P##port##DIR |=  BIT ## bit)//在打开端口时该函数一般不直接调用
#define openr_io(port,bit) (P##port##DIR &=  ~(BIT ## bit))//在打开端口时该函数一般不直接调用

#define out(port,bit,val)      write_io(port,bit,val)
#define write_io(port,bit,val)   (write##val##_io(port,bit))//port:端口号,bit:端口位,val:所写数据(1或0)
#define write1_io(port,bit)   (P##port##OUT |=(BIT##bit))//在打开端口时该函数一般不直接调用
#define write0_io(port,bit)   (P##port##OUT &=~(BIT##bit))//在打开端口时该函数一般不直接调用

#define in(port,reg,bit)      (read_io(port,reg,bit))
#define read_io(port,reg,bit) (read(port,reg,bit)) 
#define read(port,reg,bit)     (P##port##reg&(BIT##bit))//port:端口号,bit:端口位,reg:端口相关寄存器

#define open_int_io(port,bit) (PIE(port,bit))//port:端口号,bit:端口位
#define PIE(port,bit)     (P##port##IE|=BIT ## bit)

#define close_int_io(port,bit) (close_io(port,bit))
#define close_io(port,bit)       (P##port##IE &= ~(BIT##bit))//port:端口号,bit:端口位

#define clear_int_flg_io(port,bit) clear_int(port,bit)
#define clear_int(port,bit)      (P##port##IFG &=  ~(BIT ## bit))//port:端口号,bit:端口位

#endif






